This course introduces the microprocessor architecture, the bus system, the memory map and size. It covers the internal microprocessor structures such as ALU registers, program counter, stack pointer, flag register. Introduction to assembly language programming using different instructions which covers data transfer, arithmetic and logic instructions. Transfer of control using some programming techniques as subroutine, stack operation, flowchart. Data representation in signed, unsigned, BCD and ASCII formats. Input/output data through programmable I/O devices, asynchronous and synchronous communication and Interrupts.